/*
 * Notification Listener.h
 *
 * Esta entidad se encarga de escuchar las notificacion que llegan al cliente
 * mediante un puerto determinado
 * */

#ifndef NOTIFICATIONLISTENER_H_
#define NOTIFICATIONLISTENER_H_

#include "Comunicador.h"
#include "ColaBloqueante.h"
#include "MyException.h"
#include "Thread.h"

class NotificationListener : public Thread {
	Comunicador comunicador;
	ColaBloqueante<std::string>& colaNotif;

	void cerrarComunicacion();

	public:
		NotificationListener(ColaBloqueante<std::string>& cola) :
			colaNotif(cola) {}
		virtual ~NotificationListener() {}

		void conectarAlServer(const char* ip, int puerto);
		void terminarTrabajo();
		void run();
};

#endif
